import Vue from 'vue'
import Vuex,{createLogger} from 'vuex'
import axios from "axios"
Vue.use(Vuex)

export default new Vuex.Store({
  plugins:[createLogger()], // 打印日志的插件
  state: { // 在仓库中定义数据的
    name:"zhangsan",
    arr:[],
    ageArr:[10,20,30,40,50],
  },
  getters: { // vuex里的计算属性
    filterarr (state) {
        return state.ageArr.filter((item,index)=>{
          return item < 20
        })
    }
  },
  mutations: { // 放修改数据的方法的，同步方法
    // mutations里的方法接收两个参数，第一个参数state，payload
    setName(state,{payload}) {
        state.name = payload
    },
    setarr (state,{payload}) {
        state.arr = payload
    }
  },
  actions: { // 放异步的方法的，但是action不推荐直接修改数据
    getlist ({commit,state}) {
      // commit 是 修改仓库中数据的唯一途径
      // state 是仓库里定义的数据
      // console.log(context);
      axios.get("https://baojia.chelun.com/v2-car-getMasterBrandList.html").then(res=>{
        // console.log(res.data.data)
        state.arr = res.data.data
        // console.log(state.arr);
        commit({
          type:"setarr",
          payload:res.data.data
        })
      })
    }
  },
  modules: {
  }
})
